<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>simulate</title>
<style type="text/css">
	body {background-color: white; color: black; font-family:sans-serif; font-size:medium;}
	a:link {color: #3300ff;}
	a:visited {color: #663399;}
	a:hover {color:#0099ff;}
	a:active {color: #0066cc;}
	a.button {text-decoration:none;}
	
	table.nav  {background-color: #dbddff;}
	table.body {margin-top:2ex; margin-bottom:2ex;}
	table.programlistingindent {margin-left:32px;}
	
	img { margin-bottom:0px; margin-top:0px;}
	tt {margin-left:0.5em; margin-right:0.5em; font-weight:lighter;}
	
	p {margin-top:0ex;}
	p.synopsis {margin-left:32px;}
	p.programlistingindent {margin-left:32px;}
	p.citetitle {margin-left:2em;}
	
	ul ul {list-style-type:square;}
	ul li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	ol li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	
	h1.reftitle {color:#a90000;}
	h1.reftitle {font-size:3.7ex; margin-top:0; margin-bottom:0; font-weight:bold}
	h1.title {color:black; font-size:4ex; margin-top:1ex; font-weight:bold}
	h2.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:3ex}
	h3.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h4.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex}
	h2 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h3 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex} 
	
	pre.programlisting {margin-left:32px;}
	pre.synopsis {margin-left:32px;}
	
	
	.categorytitle {margin-top:8px; padding-top:0px;}
	.categorylist {background-color: #e1e6f2;}
 	</style>
</head>
<body>
<a name="top_of_page"></a><p style="font-size:1px;"></p>
<h1 class="reftitle">simulate</h1>
<h2>Purpose</h2>
<p>Simulates evolution of the system</p>
<h2>Syntax</h2>
<pre class="synopsis">data = system.simulate(U)</pre>
<h2>Description</h2>
<p></p> 
    
      <tt>data = system.simulate(U)</tt> computes evolution of system's
    states and outputs, starting from the system's internal state and
    using a sequence of inputs <tt>U</tt>.<br><br>

    Each column of <tt>U</tt> is interpreted as the control action to
    use at the m-th step of the simulation. The total number of
    simulation steps is given by the number of columns
    of <tt>U</tt>. To simulate an autonomous system over <tt>M</tt>
    steps, you need to define <tt>U=zeros(0, M)</tt>.<br><br>

    This function returns a structure <tt>data</tt>, which contains
    the simulated evolution of system's states (in <tt>data.X</tt>)
    and the outputs (in <tt>data.Y</tt>), respectively.<br><br>
    
    Note that you should always run <tt>system.initialize(x0)</tt> to
    set the initial condition prior to running the simulation.<br><br>

    Also note that the <tt>simulate</tt> method updates the internal
    system's state. Therefore once the function completes, the
    internal state will be set to the final value obtained at the end
    of the simulation.
  <h2>Input Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody><tr valign="top">
<td><tt>U</tt></td>
<td>
<p></p>Matrix of control inputs stored column-wise for each
    simulation step.<p>
	    		Class: <tt>double</tt></p>
</td>
</tr></tbody>
</table>
<h2>Output Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody><tr valign="top">
<td><tt>data</tt></td>
<td>
<p></p>Structure with simulated state and output profiles.<p>
	    		Class: <tt>struct</tt></p>
</td>
</tr></tbody>
</table>
<h2>Example(s)</h2>
<h3>Example 
				1</h3>Define a 1D LTI system <img src="../../../../../fig/mpt/modules/ui/@LTISystem/simulate1.png" alt="../../../../../fig/mpt/modules/ui/@LTISystem/simulate1.png">.<pre class="programlisting">sys = LTISystem('A', 0.9, 'B', 1)</pre>
<pre class="programlisting">LTISystem with 1 state, 1 input, 0 outputs
</pre>Set the system's internal state to <img src="../../../../../fig/mpt/modules/ui/@LTISystem/simulate2.png" alt="../../../../../fig/mpt/modules/ui/@LTISystem/simulate2.png">.<pre class="programlisting">sys.initialize(2.5);</pre>
<pre class="programlisting"></pre>Simulate evolution of the system using the sequence of
    inputs <tt>U = [-0.5, 0.1, 2, 0, 0, 1]</tt>.<pre class="programlisting">U = [-0.5, 0.1, 2, 0, 0, 1];</pre>
<pre class="programlisting"></pre>
<pre class="programlisting">data = sys.simulate(U)</pre>
<pre class="programlisting">
data = 

    X: [2.5 1.75 1.675 3.5075 3.15675 2.841075 3.5569675]
    U: [-0.5 0.1 2 0 0 1]
    Y: [0x6 double]

</pre>Plot the simulated evolution of system's states.<pre class="programlisting">plot(data.X)</pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../fig/mpt/modules/ui/@LTISystem/simulate_img_1.png" alt="../../../../../fig/mpt/modules/ui/@LTISystem/simulate_img_1.png" width="60%"></p>Note that at the end of simulation, the system's internal
    state is set to the final state value:<pre class="programlisting">sys.getStates()</pre>
<pre class="programlisting">
ans =

                 3.5569675

</pre>
<p></p>
<table class="nav" summary="Navigation aid" border="0" width="100%" cellpadding="0" cellspacing="0"><tr valign="top">
<td align="left" width="20">
<a href="ltisystem.html" class="button">&#9664;</a>  </td>
<td align="left">ltisystem</td>
<td>  </td>
<td align="right">lqrset</td>
<td align="right" width="20"><a href="lqrset.html" class="button">&#9654;</a></td>
</tr></table>
<br><p>©  <b>2003-2013</b>     Michal Kvasnica: STU Bratislava,    <a href="mailto:michal.kvasnica@stuba.sk">michal.kvasnica@stuba.sk</a></p>
</body>
</html>
